package com.charon.auth.demo.annotation;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
  *@ClassName: MyConstraint
  *@Description: 自定义校验注解
  *@Author: Charon [248135724@qq.com]
  *@Date: 2019/1/12 0012 21:57
  *@Version: 1.0
  */
@Target({ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = MyConstraintValidate.class )//jdk中的校验注解，告诉编译器这是校验用的 validateBy是声明该校验使用哪个类处理
public @interface MyConstraint {
    //注意：如果使用了Constraint注解，那么一定要实现三个变量或方法
    // String message()，Class<?>[] groups()，Class<? extends Payload> payload();
    String message() default "参数错误，请检查";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
}
